/*
 * Archivo.java
 *
 * Created on 15 de abril de 2007, 04:47 AM
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */
package administrador;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author daniel1
 */
public class Archivo {
   File file;

  /** Creates a new instance of Archivo */
    public Archivo() {
    }

    public void crearArchivo(String nombreArch) {
        try {
            //Borro el Archivo Existente:
            (new File(nombreArch)).delete();

            //Creo el archivo:
            file = new File(nombreArch);

            // Create file if it does not exist
            file.createNewFile();

        } catch (IOException e) {
            System.err.println(e);
        }

    }
    public File sacoFile(){
    return file;
    }
    
    
    public void escriboLineaArchivo(String nombreArch, String linea) {
        try {
            BufferedWriter out = new BufferedWriter(new FileWriter(nombreArch, true));
            out.write(linea + "\n");
            out.close();
        } catch (IOException e) {
            System.err.println(e);
        }
    }
    
public void removeLineFromFile(String file, String lineToRemove,String sustituto) {
System.out.println("Los parametros de entrada a la Impresion son::"+file+lineToRemove+" "+sustituto);
    try {

      File inFile = new File(file);
      
      if (!inFile.isFile()) {
        System.err.println("El Archivo de .txt que desea abrir no existe");
        return;
      }
       
      //Construct the new file that will later be renamed to the original filename. 
      File tempFile = new File(inFile.getAbsolutePath() + ".tmp");
      
      BufferedReader br = new BufferedReader(new FileReader(file));
      BufferedWriter out = new BufferedWriter(new FileWriter(tempFile));
      
      
      
      String line;
        while ((line = br.readLine()) != null) {
        
        if (!line.equals(lineToRemove)) {
         line=line+"\n";  
         out.write(line);
         
          
        }else{
          out.write(sustituto+"\n");
        }
        
      }
      out.close();
      br.close();
      
      //Delete the original file
      if (!inFile.delete()) {
        System.out.println("Could not delete file");
        return;
      } 
      
      //Rename the new file to the filename the original file had.
      if (!tempFile.renameTo(inFile))
        System.out.println("Could not rename file");
      
    }
    catch (FileNotFoundException ex) {
      ex.printStackTrace();
    }
    catch (IOException ex) {
      ex.printStackTrace();
    }
  }
    
  public void borrarArchivo(File archivo){
  archivo.delete();
  }  
    
  //"facturas/"+"Factura_"+numFact+".txt"
  public Vector LeoArchivo(String nombreArchivo){
  Vector textoArchivo= new Vector();    
  int contador=0;
    try {
        BufferedReader in = new BufferedReader(new FileReader(nombreArchivo));
        String line;
        while ((line = in.readLine()) != null) {
        line=line+"\n";    
        textoArchivo.add(line);
        contador++;
        }
        in.close();
    } catch (IOException e) {
    }
  return textoArchivo;
  }
 
  
  

}